<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>GMaps.js &mdash; Geocoding</title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
    <script type="text/javascript" src="../gmaps.js"></script>
    <link rel="stylesheet" href="http://twitter.github.com/bootstrap/1.3.0/bootstrap.min.css"/>
    <link rel="stylesheet" type="text/css" href="examples.css"/>
    <script type="text/javascript">
        var map;
        $(document).ready(function () {
            map = new GMaps({
                el: '#map',
                lat: -12.043333,
                lng: -77.028333
            });
            $('#geocoding_form').submit(function (e) {
                e.preventDefault();
                GMaps.geocode({
                    address: $('#address').val().trim(),
                    callback: function (results, status) {
                        if (status == 'OK') {
                            var latlng = results[0].geometry.location;
                            map.setCenter(latlng.lat(), latlng.lng());
                            map.addMarker({
                                lat: latlng.lat(),
                                lng: latlng.lng()
                            });
                        }
                    }
                });
            });
        });
    </script>
</head>
<body>
<h1>GMaps.js &mdash; Geocoding</h1>

<div class="row">
    <div class="span11">
        <form method="post" id="geocoding_form">
            <label for="address">Address:</label>

            <div class="input">
                <input type="text" id="address" name="address"/>
                <input type="submit" class="btn" value="Search"/>
            </div>
        </form>
        <div id="map"></div>
    </div>
    <div class="span6">
        <p>You can geocoding this way:</p>
      <pre>GMaps.geocode({
  address: $('#address').val(),
  callback: function(results, status){
    if(status=='OK'){
      var latlng = results[0].geometry.location;
      map.setCenter(latlng.lat(), latlng.lng());
      map.addMarker({
        lat: latlng.lat(),
        lng: latlng.lng()
      });
    }
  }
});</pre>
        <p>You can define either <code>address</code> or <code>lat</code> and <code>lng</code>. Also, you must define
            <code>callback</code>, which will use <code>results</code> of geocoding and <code>status</code>.</p>
    </div>
</div>
</body>
</html>